package com.gccloud.design.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.gccloud.design.entity.SdRepoActionConfEntity;
import com.gccloud.starter.core.vo.PageVO;

import java.util.List;
import java.util.Map;

/**
 * 环节操作配置
 * @author 冯海琴
 */
public interface SdRepoActionConfService extends IService<SdRepoActionConfEntity> {

    /**
     * 环节操作配置：获取环节操作按钮列表
     * @return map
     */
    Map<String, Object> getLinkButton(String tacheId, PageVO pageObj);

    /**
     * 环节操作配置：查询环节未配置的操作按钮
     * @return map
     */
    Map<String, Object> queryButtonByTacheId(String tacheId, PageVO pageObj);

    /**
     * 环节操作配置：为某个环节添加按钮,获取当前环节最后显示的按钮显示顺序
     */
    Integer getMaxShowLinkButton(String tacheId);

    /**
     * 环节操作配置：为某个环节添加按钮
     * @param sdRepoActionConfEntityList 环节配置
     * @return true/false
     */
    boolean addButtonToLink(List<SdRepoActionConfEntity> sdRepoActionConfEntityList);

    /**
     * 环节操作配置:删除环节按钮
     */
    boolean deleteButtonToLink(String tacheId,String ids);

    /**
     * 环节操作配置：按钮上移
     */
    boolean upMove(String tacheId,Integer id);

    /**
     * 环节操作配置：按钮下移
     */
    boolean downMove(String tacheId,Integer id);

    /**
     * 根据环节id获取按钮列表
     */
    Map<String, Object> getButton(String repoId);
}
